package cn.cmvideo.springboot.poms;

import javax.jms.ConnectionFactory;
import javax.jms.Destination;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.jms.connection.CachingConnectionFactory;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.listener.DefaultMessageListenerContainer;

import cn.cmvideo.springboot.poms.listener.Listener1002741;
import cn.cmvideo.springboot.poms.listener.Listener1002861;
import cn.cmvideo.springboot.poms.listener.Listener1003201;

@Configuration
public class ActivemqConfig
{
	// # POMS_MSG1002861 研发3部自研
	// # POMS_MSG1002741 云英数据同步--个性化推荐
	// # POMS_MSG1003201 网达4K轮播对接
	// # ActiveMQ.DLQ
	// # POMS_MSG1002181 POMS本地测试

//	 @Value("${spring.activemq.broker-url}")
//	 private String brokerUrl;
//	 
//	 @Value("${spring.activemq.user}")
//	 private String userName;
//	 
//	 @Value("${spring.activemq.password}")
//	 private String password;
//
//	@Autowired
//	private Listener1002861 listener1002861;
//
//	@Bean
//	public ActiveMQConnectionFactory activeMQConnectionFactory()
//	{
//		ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory();
//		activeMQConnectionFactory.setBrokerURL(brokerUrl);
//		activeMQConnectionFactory.setUserName(userName);
//		activeMQConnectionFactory.setPassword(password);
//		return activeMQConnectionFactory;
//	}
//
//	@Bean
//	@Primary
//	public CachingConnectionFactory cachingConnectionFactory()
//	{
//		return new CachingConnectionFactory(activeMQConnectionFactory());
//	}
//
//	@Bean
//	public JmsTemplate jmsTemplate()
//	{
//		return new JmsTemplate(cachingConnectionFactory());
//	}

	// @Bean
	// public DefaultMessageListenerContainer listener1002861(ConnectionFactory
	// connectionFactory)
	// {
	// DefaultMessageListenerContainer m = new
	// DefaultMessageListenerContainer();
	// m.setConnectionFactory(connectionFactory);
	// Destination d = new ActiveMQQueue("POMS_MSG1002861");// 研发3部自研
	// m.setDestination(d);
	// m.setMessageListener(new Listener1002861());
	// return m;
	// }
	//
	// @Bean
	// public DefaultMessageListenerContainer listener1002741(ConnectionFactory
	// connectionFactory)
	// {
	// DefaultMessageListenerContainer m = new
	// DefaultMessageListenerContainer();
	// m.setConnectionFactory(connectionFactory);
	// Destination d = new ActiveMQQueue("POMS_MSG1002741");// 云英数据同步--个性化推荐
	// m.setDestination(d);
	// m.setMessageListener(new Listener1002741());
	// return m;
	// }
	//
	// @Bean
	// public DefaultMessageListenerContainer listener1003201(ConnectionFactory
	// connectionFactory)
	// {
	// DefaultMessageListenerContainer m = new
	// DefaultMessageListenerContainer();
	// m.setConnectionFactory(connectionFactory);
	// Destination d = new ActiveMQQueue("POMS_MSG1003201");// 网达4K轮播对接
	// m.setDestination(d);
	// m.setMessageListener(new Listener1003201());
	// return m;
	// }

//	@Bean
//	public DefaultMessageListenerContainer listener1002181(ConnectionFactory connectionFactory)
//	{
//		DefaultMessageListenerContainer m = new DefaultMessageListenerContainer();
//		m.setConnectionFactory(connectionFactory);
//		Destination d = new ActiveMQQueue("POMS_MSG1002181");// POMS本地测试
//		m.setDestination(d);
//		m.setMessageListener(listener1002861);
//		return m;
//	}

	// @Bean
	// public DefaultMessageListenerContainer listenerTopic1(ConnectionFactory
	// connectionFactory)
	// {
	// DefaultMessageListenerContainer m = new
	// DefaultMessageListenerContainer();
	// m.setConnectionFactory(connectionFactory);
	// m.setClientId("1001");
	// m.setSubscriptionName("1001_listenerTopic1");
	// // 持久订阅
	// m.setSubscriptionDurable(true);
	// Destination d = new ActiveMQTopic("POMS_MSG_TOPIC");// *表示通配所有队列名称
	// m.setDestination(d);
	// m.setMessageListener(new ListenerTopic3());
	// return m;
	// }
	//
	// @Bean
	// public DefaultMessageListenerContainer listenerTopic2(ConnectionFactory
	// connectionFactory)
	// {
	// DefaultMessageListenerContainer m = new
	// DefaultMessageListenerContainer();
	// m.setConnectionFactory(connectionFactory);
	// m.setClientId("1002");
	// m.setSubscriptionName("1002_listenerTopic2");
	// // 持久订阅
	// m.setSubscriptionDurable(true);
	// Destination d = new ActiveMQTopic("POMS_MSG_TOPIC");// *表示通配所有队列名称
	// m.setDestination(d);
	// m.setMessageListener(new ListenerTopic2());
	// return m;
	// }

}
